<h2><a name="what" id="what">O que eles sπo/Como usß-los</a></h2>
<p>Os arquivos <code>.htaccess</code> (ou "arquivos de
configuraτπo distribuφda") oferecem um meio de fazer mudanτas nas
configuraτ⌡es por-diret≤rio. Um arquivo, contendo uma ou mais
diretrizes de configuraτ⌡es, Θ colocado em um diret≤rio
em particular, e as diretrizes se aplicam para aquele diret≤rio e todos
os seu subdiret≤rios subseqⁿentes.</p>
<div class="note"><h3>Nota:</h3>
<p>Se vocΩ quiser renomear o seu arquivo <code>.htaccess</code>
para outro nome, vocΩ deve usar a diretriz <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code>. Por exemplo, se vocΩ
prefere que o arquivo se chame <code>.config</code>, entπo vocΩ
pode adicionar a seguinte linha ao seu arquivo de configuraτπo
do servidor:</p>
<div class="example"><p><code>
AccessFileName .config
</code></p></div>
</div>
<p>No geral, arquivos <code>.htaccess</code> usam a mesma sintaxe
que os <a href="../configuring.html#syntax">arquivos de
configuraτπo principal</a>. O que vocΩ pode colocar nesses
em categorias, quais diretrizes serπo aceitas caso sejam
encontradas em um arquivo <code>.htaccess</code>. Se uma diretriz
for permitida em um arquivo <code>.htaccess</code>, a documentaτπo
para essa diretriz irß conter uma seτπo <em>Override</em>,
especificando que valor precisa estar em <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> para que esta diretriz
seja permitida.</p>
<p>Por exemplo, se vocΩ procurar na documentaτπo pela diretriz
<p>No geral, vocΩ nunca deve usar arquivos <code>.htaccess</code>
a nπo ser que vocΩ nπo tenha acesso ao arquivo de configuraτπo
principal do servidor. Existe, por exemplo, um erro de concepτπo
que dita que a autenticaτπo de usußrios sempre deve
ser feita usando os arquivos <code>.htaccess</code>. Esse
simplesmente nπo Θ o caso. VocΩ pode usar as configuraτ⌡es de
autenticaτπo de usußrio no arquivo de configuraτπo principal do
servidor, e isso Θ, de fato, a maneira mais adequada de se fazer
as coisas.</p>
<p>Arquivos <code>.htaccess</code> devem ser usados em casos onde
os provedores de conte·do do site precisem fazer mudanτas na
configuraτπo do servidor por-diret≤rio, mas nπo tem
acesso <em>root</em> ao sistema do servidor. Caso o administrador do
servidor nπo esteja disposto a fazer mudanτas freqⁿentes nas
configuraτ⌡es do servidor, Θ desejßvel permitir que os
usußrios possam fazer essas mudanτas atravΘs de arquivos
<code>.htaccess</code> eles mesmos. Isso Θ particularmente
verdade, por exemplo, em casos onde provedores estπo fornecendo
m·ltiplos sites para usußrios em apenas uma mßquina, e querem que
seus usußrios possam alterar suas configuraτ⌡es.</p>
<p>No entanto, de modo geral, o uso de arquivos <code>.htaccess</code>
deve ser evitado quando possφvel. Quaisquer configuraτ⌡es
que vocΩ considerar acrescentar em um arquivo <code>.htaccess</code>, podem
ser efetivamente colocadas em uma seτπo <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> no arquivo principal de
configuraτπo de seu servidor.</p>
<p>Existem duas raz⌡es principais para evitar o uso de arquivos
<code>.htaccess</code>.</p>
<p>A primeira delas Θ a performance. Quando <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> Θ configurado para
permitir o uso de arquivos <code>.htaccess</code>, o Apache procura
em todos diret≤rios por arquivos <code>.htaccess</code>.
Logo, permitir arquivos <code>.htaccess</code> causa um impacto na
performance, mesmo sem vocΩ usß-los de fato! AlΘm disso,
o arquivo <code>.htaccess</code> Θ carregado toda vez que um documento
Θ requerido.</p>
<p>AlΘm disso, note que o Apache precisa procurar pelos arquivos
<code>.htaccess</code> em todos os diret≤rios superiores, para ter
o complemento total de todas as diretivas que devem ser
aplicadas. (Veja a seτπo <a href="#how">como as diretrizes sπo
aplicadas</a>.) Entπo, se um arquivo de um diret≤rio
<code>/www/htdocs/example</code> Θ requerido, o Apache precisa
procurar pelos seguintes arquivos:</p>
<div class="example"><p><code>
/.htaccess<br />
/www/.htaccess<br />
/www/htdocs/.htaccess<br />
/www/htdocs/example/.htaccess
</code></p></div>
<p>Assim, para cada acesso de arquivo fora desse diret≤rio,
existem 4 acessos ao sistema de arquivos adicionais, mesmo
que nenhum desses arquivos estejam presentes. (Note que esse
s≤ serß o caso se os arquivos <code>.htaccess</code>
estiverem habilitados para <code>/</code>, o que
normalmente nπo Θ o verdade.)</p>
<p>A segunda consideraτπo Θ relativa α seguranτa.
VocΩ estß permitindo que os usußrios modifiquem as
configuraτ⌡es do servidor, o que pode resultar em mudanτas
que podem fugir ao seu controle. Considere com cuidado se vocΩ quer
ou nπo dar aos seus usußrios esses privilΘgios. Note tambΘm
que dar aos usußrios menos privilΘgios que eles precisam, acarreta em
pedidos de suporte tΘcnico adicionais. Tenha certeza que vocΩ comunicou
aos usußrios que nφvel de privilΘgios vocΩ os deu.
Especificar exatamente o que vocΩ configurou na diretriz <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, e direcionß-los para a
documentaτπo relevante, irß poupß-lo de muita confusπo
depois.</p>
<p>Perceba que Θ exatamente equivalente colocar o arquivo
<code>.htaccess</code> em um diret≤rio
<code>/www/htdocs/example</code> contendo uma diretriz, e
adicionar a mesma diretriz em uma seτπo <em>Directory</em>
<code><Directory /www/htdocs/example></code> na configuraτπo
principal do seu servidor:</p>
<p>Arquivo <code>.htaccess</code> em <code>/www/htdocs/example</code>:</p>
<div class="example"><h3>Conte·do de um arquivo .htaccess em
<code>/www/htdocs/example</code></h3><p><code>
AddType text/example .exm
</code></p></div>
<div class="example"><h3>Seτπo do seu arquivo <code>httpd.conf</code></h3><p><code>
<Directory /www/htdocs/example><br />
<span class="indent">
AddType text/example .exm<br />
</span>
</Directory>
</code></p></div>
<p>No entanto, adicionando isso ao seu arquivo de configuraτπo do
servidor resultarß em uma menor perda de performance, na medida que
a configuraτπo Θ carregada no momento da inicializaτπo do
servidor, ao invΘs de toda que que um arquivo Θ requerido.</p>
<p>O uso de arquivos <code>.htaccess</code> pode ser totalmente
desabilitado, ajustando a diretriz <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> para <code>none</code>:</p>
<p>Quando vocΩ adiciona diretrizes de configuraτπo em um arquivo
<code>.htaccess</code>, e nπo obtΘm o efeito desejado, existe uma
sΘrie de pontos que podem estar errados.</p>
<p>Mais comumente, o problema Θ que a diretriz <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> nπo estß habilitada
corretamente para que as suas diretrizes de configuraτ⌡es sejam
honradas. Verifique se vocΩ nπo possui <code>AllowOverride
None</code> ajustado para o escopo do arquivo em questπo. Um bom
meio de testar isso Θ colocar "lixo" em seu arquivo
<code>.htaccess</code> e recarregß-lo. Se nπo for gerado nenhum
erro do servidor, certamente vocΩ tem <code>AllowOverride
None</code> habilitado.</p>
<p>Se, por outro lado, vocΩ estß obtendo erros do servidor ao
tentar acessar documentos, verifique o registro de erros do
Apache. Ele provavelmente irß indicar que a diretriz usada em
seu arquivo <code>.htaccess</code> nπo Θ permitida.
Alternativamente, ele pode acusar erros de sintaxe que vocΩ terß
que corrigir.</p>
</div></div>
<div class="bottomlang">
<p><span>Lφnguas Disponφveis: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<p class="apache">Copyright 1995-2006 The Apache Software Foundation or its licensors, as applicable.<br />Licenciado sob a <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>